Fuzzy matching algorithms are often used to identify duplicate data stored in computer systems. An example of duplicate data may be multiple records stored at a database system for the same person (e.g., one of the records may have a misspelled name). Data duplication may lead to wasted computing resources (e.g., storage resources). The matching algorithms are called “fuzzy” because they deal with inexact (i.e., “fuzzy”) comparisons of data. Fuzzy matching algorithms may be time-intensive and resource-intensive due to the processing of various “fuzzy match candidate” permutations for each data item to be matched. For example, current fuzzy matching algorithms for strings exponentially increase in computational complexity (e.g., O(N2)) with respect to the length of the string being examined.